package com.manli.wechat.utils.wxpayv3.pojo;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.manli.common.utils.HttpUtil;
import com.manli.common.utils.HttpUtils;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
@Data
public class JSAPIPojo {

    /**
     * 合单商户appid
     */
    @NotBlank
    private String combine_appid;

    /**
     * 合单商户号
     */
    @NotBlank
    private String combine_mchid;

    /**
     * 合单商户订单号
     */
    @NotBlank
    private String combine_out_trade_no;

    /**
     * 支付场景信息描述
     */
    private SceneInfo scene_info;

    /**
     *  子单信息
     *  最多支持子单条数：50
     */
    @NotBlank
    private SubOrder[] sub_orders;

    /**
     * 支付者
     */
    @NotBlank
    private CombinePayerInfo combine_payer_info;

    /**
     * 交易起始时间
     * 订单生成时间，遵循rfc3339标准格式，格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE，YYYY-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日 13点29分35秒。
     * 示例值：2019-12-31T15:59:60+08:00
     */
    private String time_start;

    /**
     *订单失效时间，遵循rfc3339标准格式，格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE，YYYY-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日 13点29分35秒。
     */
    private String time_expire;

    /**
     *接收微信支付异步通知回调地址，通知url必须为直接可访问的URL，不能携带参数。
     * 格式: URL
     */
    @NotBlank
    private String notify_url;

}
